<?xml version="1.0" encoding="utf-8"?>
<!--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Daffodil for Visual Studio  <http://daffodil.codeplex.com>
- Native multi-targeting support for Visual Studio 6 in Visual Studio 2010

2.4  [2012-11-09]

Owen Wengerd, ManuSoft
http://www.manusoft.com

Credits
  Some aspects of this project are based on information in this MSDN blog post:
  http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx
  
  This file is a derivative work based on the file of the same name that is
  included with Visual Studio 2010. The original file bears the copyright
  notice reproduced below. Implicit authorization from Microsoft to create and
  distribute derivative works is deduced from comments in the files and
  documentation which describe ways to customize the build system by making
  changes to these files.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-->
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="CL" PageTemplate="tool" DisplayName="C/C++" SwitchPrefix="/" Order="10" xmlns="http://schemas.microsoft.com/build/2009/properties" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Rule.Categories>
    <Category Name="General" DisplayName="全般"/>
    <Category Name="Optimization" DisplayName="最適化"/>
    <Category Name="Preprocessor" DisplayName="プリプロセッサ"/>
    <Category Name="Code Generation" DisplayName="コード生成"/>
    <Category Name="Language" DisplayName="言語"/>
    <Category Name="Precompiled Headers" DisplayName="プリコンパイル済みヘッダー"/>
    <Category Name="Output Files" DisplayName="出力ファイル"/>
    <Category Name="Browse Information" DisplayName="ブラウザー情報"/>
    <Category Name="Advanced" DisplayName="詳細設定"/>
    <Category Name="Command Line" DisplayName="コマンド ライン" Subtype="CommandLine"/>
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" ItemType="ClCompile" Label="" HasConfigurationCondition="true"/>
  </Rule.DataSource>
  <StringListProperty Subtype="folder" Name="AdditionalIncludeDirectories" DisplayName="追加のインクルード ディレクトリ" Description="インクルード パスに追加するディレクトリを指定します。複数指定する場合には、セミコロンで区切ってください。     (/I[パス])" Category="General" Switch="I" F1Keyword="VC.Project.VCCLCompilerTool.AdditionalIncludeDirectories">
  </StringListProperty>
  <EnumProperty Name="DebugInformationFormat" DisplayName="デバッグ情報の形式" Description="コンパイラにより生成されるデバッグ情報の種類を指定します。この設定に合わせて、リンカーの設定も変更してください。    (/Z7, Zd, /Zi, /ZI)" Category="General" F1Keyword="VC.Project.VCCLCompilerTool.DebugInformationFormat">
    <EnumValue Name="None" Switch="" DisplayName="None" Description="Generation of debug information is disabled.">
    </EnumValue>
    <EnumValue Name="OldStyle" Switch="Z7" DisplayName="C7 互換" Description="プログラム用に作成されるデバッグ情報の種類、およびこの情報をオブジェクト (.obj) ファイルまたはプログラム データベース (PDB) のどちらに保存するかを選択します。">
    </EnumValue>
    <EnumValue Name="LineNumbers" Switch="Zd" DisplayName="Line Numbers Only" Description="Produces an .obj file or executable (.exe) file containing only global and external symbol and line-number information (no symbolic debugging information).">
    </EnumValue>
    <EnumValue Name="ProgramDatabase" Switch="Zi" DisplayName="プログラム データベース" Description="デバッガーで使用する型情報およびシンボリック デバッグ情報を含むプログラム データベース (PDB) を生成します。シンボリック デバッグ情報には、変数の名前と型、および関数と行番号が含まれます。">
    </EnumValue>
    <EnumValue Name="EditAndContinue" Switch="ZI" DisplayName="エディット コンティニュのプログラム データベース" Description="先に説明したように、エディット コンティニュ機能をサポートする形式でプログラム データベースを生成します。">
    </EnumValue>
  </EnumProperty>
  <BoolProperty ReverseSwitch="nologo-" Name="SuppressStartupBanner" DisplayName="著作権情報の非表示" Description="コンパイラの開始時およびコンパイル中の情報メッセージに著作権情報を表示しません。" Category="General" Switch="nologo" F1Keyword="VC.Project.VCCLCompilerTool.SuppressStartupBanner">
  </BoolProperty>
  <EnumProperty Name="WarningLevel" DisplayName="警告レベル" Description="コード エラーに対するコンパイラの警告レベルを指定します。     (/W0 - /W4)" Category="General" F1Keyword="VC.Project.VCCLCompilerTool.WarningLevel">
    <EnumValue Name="TurnOffAllWarnings" Switch="W0" DisplayName="すべての警告を非表示にする" Description="レベル 0 はすべての警告を無効にします。">
    </EnumValue>
    <EnumValue Name="Level1" Switch="W1" DisplayName="Level1" Description="レベル 1 は重大な警告を表示します。レベル 1 はコマンド ラインの既定の警告レベルです。">
    </EnumValue>
    <EnumValue Name="Level2" Switch="W2" DisplayName="Level2" Description="レベル 2 は、レベル 1 のすべての警告およびレベル 1 より重大度の低い警告を表示します。">
    </EnumValue>
    <EnumValue Name="Level3" Switch="W3" DisplayName="Level3" Description="レベル 3 は、レベル 2 のすべての警告、および運用のために推奨される他のすべての警告を表示します。">
    </EnumValue>
    <EnumValue Name="Level4" Switch="W4" DisplayName="Level4" Description="レベル 4 は、レベル 3 のすべての警告、および情報のための警告 (ほとんどの場合、無視しても安全な警告) を表示します。">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="TreatWarningAsError" DisplayName="警告をエラーとして扱う" Description="すべてのコンパイラ警告をエラーとして扱います。新しいプロジェクトの場合、すべてのコンパイルで /WX を使用することをお勧めします。すべての警告を解決することで、コードの欠陥を見逃す可能性が低くなります。" Category="General" Switch="WX" F1Keyword="VC.Project.VCCLCompilerTool.WarnAsError">
  </BoolProperty>
  <StringProperty Subtype="folder" Name="TrackerLogDirectory" DisplayName="トラッカー ログのディレクトリ" Description="トラッカー ログのディレクトリです。" Category="General" IncludeInCommandLine="false" Visible="false">
  </StringProperty>
  <EnumProperty Name="Optimization" DisplayName="最適化" Description="コード最適化のオプションを選択します。特定の最適化オプションを使用するには、[カスタム] を選択します。     (/Od、/O1、/O2、/Ox)" Category="Optimization" F1Keyword="VC.Project.VCCLCompilerTool.Optimization">
    <EnumValue Name="Disabled" Switch="Od" DisplayName="無効" Description="最適化を無効にします。">
    </EnumValue>
    <EnumValue Name="MinSpace" Switch="O1" DisplayName="サイズの最小化" Description="/Og /Os /Oy /Ob2 /Gs /GF /Gy に相当します">
    </EnumValue>
    <EnumValue Name="MaxSpeed" Switch="O2" DisplayName="実行速度の最大化" Description="/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy に相当します">
    </EnumValue>
    <EnumValue Name="Full" Switch="Ox" DisplayName="最大限の最適化" Description="/Og /Oi /Ot /Oy /Ob2 に相当します">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="InlineFunctionExpansion" DisplayName="インライン関数の展開" Description="ビルドのインライン関数の拡張レベルを選択してください。     (/Ob1、/Ob2)" Category="Optimization" F1Keyword="VC.Project.VCCLCompilerTool.InlineFunctionExpansion">
    <EnumValue Name="Default" Switch="" DisplayName="既定">
    </EnumValue>
    <EnumValue Name="Disabled" Switch="Ob0" DisplayName="無効" Description="既定では有効になっているインライン展開を無効にします。">
    </EnumValue>
    <EnumValue Name="OnlyExplicitInline" Switch="Ob1" DisplayName="__inline のみ" Description="インラインとしてマークされている関数 (__inline、__forceinline、または __inline)、またはクラス宣言内で定義されている C++ メンバー関数内の関数のみを展開します。">
    </EnumValue>
    <EnumValue Name="AnySuitable" Switch="Ob2" DisplayName="拡張可能な関数すべて" Description="inline または __inline としてマークされている関数、およびコンパイラが選択した他の関数を展開します (展開はコンパイラの裁量で行われ、一般に自動インライン展開 (auto-inlining) と呼ばれます)。">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="IntrinsicFunctions" DisplayName="組み込み関数を使用する" Description="組み込み関数を使用します。組み込み関数を使用すると高速に実行するコードが生成されますが、コード サイズが大きくなる可能性があります。     (/Oi)" Category="Optimization" Switch="Oi" F1Keyword="VC.Project.VCCLCompilerTool.EnableIntrinsicFunctions">
  </BoolProperty>
  <BoolProperty Name="AssumeNoAliasing" DisplayName="!# Assume No Aliasing" Description="!# Tells the compiler that your program does not use aliasing. An alias is a name that refers to a memory location that is already referred to by a different name.     (/Oa)" Category="Optimization" Switch="Oa">
  </BoolProperty>
  <BoolProperty Name="AssumeXFunctionAliasing" DisplayName="!# Assume Aliasing Across Function Calls" Description="!# Tells the compiler that no aliasing occurs within function bodies but might occur across function calls. After each function call, pointer variables must be reloaded from memory.     (/Ow)" Category="Optimization" Switch="Ow">
  </BoolProperty>
  <EnumProperty Name="FavorSizeOrSpeed" DisplayName="速度またはサイズを優先" Description="コードの速度とサイズのどちらを優先するかを選択します。[グローバルな最適化] を有効にする必要があります。     (/Ot, /Os)" Category="Optimization" F1Keyword="VC.Project.VCCLCompilerTool.FavorSizeOrSpeed">
    <EnumValue Name="Size" Switch="Os" DisplayName="実行可能ファイルのサイズを優先" Description="実行可能ファイルのサイズを優先します。速度よりサイズを優先するようにコンパイラを設定することで、EXE および DLL のサイズを最小化します。">
    </EnumValue>
    <EnumValue Name="Speed" Switch="Ot" DisplayName="実行速度を優先" Description="実行速度を優先します。サイズより速度を優先するようにコンパイラを設定することで、EXE および DLL の速度を最大化します (既定値)。">
    </EnumValue>
    <EnumValue Name="Neither" Switch="" DisplayName="なし" Description="サイズおよび速度の最適化は行いません。">
    </EnumValue>
  </EnumProperty>
  <BoolProperty ReverseSwitch="Oy-" Name="OmitFramePointers" DisplayName="フレーム ポインターなし" Description="呼び出し履歴にフレーム ポインターを作成しません。" Category="Optimization" Switch="Oy" F1Keyword="VC.Project.VCCLCompilerTool.OmitFramePointers">
  </BoolProperty>
  <EnumProperty Name="FloatConsistency" DisplayName="Improve Float Consistency" Description="!# Controls the use of optimizations that affect floating-point tests for equality and inequality. (/Op)." Category="Optimization">
    <EnumValue Name="Default" Switch="" DisplayName="!# Default" Description="!# Use default based on other compiler settings.">
    </EnumValue>
    <EnumValue Name="Disabled" Switch="Op-" DisplayName="!# Disabled" Description="!# Enables floating point optimization at the expense of consistency.">
    </EnumValue>
    <EnumValue Name="Enabled" Switch="Op" DisplayName="!# Enabled" Description="!# Improves the consistency of floating-point tests for equality and inequality.">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="EnableFiberSafeOptimizations" DisplayName="ファイバー保護の最適化" Description="ファイバーとスレッド ローカル ストレージ アクセスを使用するときに、メモリ スペースを最適化します。     (/GT)" Category="Optimization" Switch="GT" F1Keyword="VC.Project.VCCLCompilerTool.EnableFiberSafeOptimizations">
  </BoolProperty>
  <StringListProperty Name="PreprocessorDefinitions" DisplayName="プリプロセッサの定義" Description="ソース ファイルの前処理シンボルを定義します。" Category="Preprocessor" Switch="D " F1Keyword="VC.Project.VCCLCompilerTool.PreprocessorDefinitions">
  </StringListProperty>
  <StringListProperty Name="UndefinePreprocessorDefinitions" DisplayName="指定したプリプロセッサ定義の無効化" Description="特定のプリプロセッサの定義を無効にします。複数指定できます。     (/U[マクロ])" Category="Preprocessor" Switch="U" F1Keyword="VC.Project.VCCLCompilerTool.UndefinePreprocessorDefinitions">
  </StringListProperty>
  <BoolProperty Name="UndefineAllPreprocessorDefinitions" DisplayName="定義済みプリプロセッサ定義の無効化" Description="すべてのプリプロセッサの定義済み定義を無効にします。     (/u)" Category="Preprocessor" Switch="u" F1Keyword="VC.Project.VCCLCompilerTool.UndefineAllPreprocessorDefinitions">
  </BoolProperty>
  <BoolProperty Name="IgnoreStandardIncludePath" DisplayName="標準インクルード パスの無視" Description="コンパイラが、INCLUDE 環境変数で指定されているディレクトリ内のインクルード ファイルを検索しないようにします。" Category="Preprocessor" Switch="X" F1Keyword="VC.Project.VCCLCompilerTool.IgnoreStandardIncludePath">
  </BoolProperty>
  <BoolProperty Name="PreprocessToFile" DisplayName="ファイルの前処理" Description="C および C++ ソース ファイルを前処理し、前処理済みの出力をファイルに書き込みます。このオプションではコンパイルが行われないため、.obj ファイルは生成されません。" Category="Preprocessor" Switch="P" F1Keyword="VC.Project.VCCLCompilerTool.GeneratePreprocessedFile">
  </BoolProperty>
  <StringProperty Name="PreprocessOutputPath" DisplayName="前処理の出力パス" Description="プリプロセッサの出力パスを指定します。既定の場所は、ソース ファイルと同じです。" Category="Preprocessor" Switch="Fi" Visible="false">
  </StringProperty>
  <BoolProperty Name="PreprocessSuppressLineNumbers" DisplayName="行番号の前処理の抑制" Description="#line ディレクティブを使用せずに前処理します。" Category="Preprocessor" Switch="EP" F1Keyword="VC.Project.VCCLCompilerTool.GeneratePreprocessedFile">
  </BoolProperty>
  <BoolProperty Name="PreprocessKeepComments" DisplayName="コメントを残す" Description="ソース コードのコメントを削除しません。使用するには、[前処理済みファイルの生成] の設定が必要です。     (/C)" Category="Preprocessor" Switch="C" F1Keyword="VC.Project.VCCLCompilerTool.KeepComments">
  </BoolProperty>
  <BoolProperty Name="StringPooling" DisplayName="文字列プール" Description="コンパイラの実行中に、プログラム イメージ内およびメモリ内に同じ文字列の単一の読み取り専用コピーを作成することで、プログラムのサイズを小さくします (文字列プールと呼ばれる最適化です)。/O1、/O2、および /ZI では /GF オプションが自動的に設定されます。" Category="Code Generation" Switch="GF" F1Keyword="VC.Project.VCCLCompilerTool.StringPooling">
  </BoolProperty>
  <BoolProperty Name="MinimalRebuild" DisplayName="最小リビルドを有効にする" Description="最小リビルドを有効にします。これにより、(ヘッダー (.h) ファイルに格納されている) 変更された C++ クラス定義を含む  C++ ソース ファイルを再コンパイルする必要があるかどうかが決まります。" Category="Code Generation" Switch="Gm" F1Keyword="VC.Project.VCCLCompilerTool.MinimalRebuild">
  </BoolProperty>
  <EnumProperty Name="ExceptionHandling" DisplayName="C++ の例外を有効にする" Description="コンパイラで使用される例外処理のモデルを指定します。" Category="Code Generation" F1Keyword="VC.Project.VCCLCompilerTool.ExceptionHandling">
    <EnumValue Name="Async" Switch="EHa" DisplayName="はい - SEH の例外あり" Description="非同期 (構造化) 例外および同期  (C++) 例外をキャッチする例外処理モデルです (/EHa)。">
    </EnumValue>
    <EnumValue Name="Sync" Switch="EHsc" DisplayName="はい" Description="C++ 例外のみをキャッチし、extern C 関数が C++ 例外をスローしないことを前提とするようにコンパイラに指示する例外処理モデルです。(/EHsc)">
    </EnumValue>
    <EnumValue Name="SyncCThrow" Switch="EHs" DisplayName="はい - Extern C 関数あり" Description="C++ 例外のみをキャッチし、extern C 関数が C++ 例外をスローすることを前提とするようにコンパイラに指示する例外処理モデルです。(/EHs)">
    </EnumValue>
    <EnumValue Name="false" Switch="" DisplayName="いいえ" Description="例外処理を行いません。">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="TargetProcessor" DisplayName="Processor" Description="Direct the compiler to optimize code generation for the 80386, 80486, or Pentium® processors.     (/G3, /G4, /G5, /G6, /GB)." Category="Code Generation">
    <EnumValue Name="80386" Switch="G3" DisplayName="80386" Description="Forces a value of 300 for the _M_IX86 preprocessor macro. The compiler ignores this option.">
    </EnumValue>
    <EnumValue Name="80486" Switch="G4" DisplayName="80486" Description="Forces a value of 400 for the _M_IX86 preprocessor macro. The compiler ignores this option.">
    </EnumValue>
    <EnumValue Name="Pentium" Switch="G5" DisplayName="Pentium" Description="Optimizes the code created to favor the Pentium. Use this option for programs meant only for the Pentium. This option forces a value of 500 for the _M_IX86 preprocessor macro.">
    </EnumValue>
    <EnumValue Name="PentiumPro" Switch="G6" DisplayName="Pentium Pro" Description="Optimizes the code created to favor the Pentium Pro. Use this option for programs meant only for the Pentium Pro. This option forces a value of 600 for the _M_IX86 preprocessor macro.">
    </EnumValue>
    <EnumValue Name="Blend" Switch="GB" DisplayName="Blend" Description="Blends the optimizations for the 80386 (/G3), 80486 (/G4), Pentium (/G5), and Pentium Pro (/G6) options. This option forces a value of 500 for the _M_IX86 preprocessor macro. This value is the default.">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="RuntimeLibrary" DisplayName="ランタイム ライブラリ" Description="リンクするランタイム ライブラリを指定します。     (/MT、/MTd、/MD、/MDd)" Category="Code Generation" F1Keyword="VC.Project.VCCLCompilerTool.RuntimeLibrary">
    <EnumValue Name="MultiThreaded" Switch="MT" DisplayName="マルチスレッド" Description="アプリケーションで、ランタイム ライブラリのマルチスレッド、静的バージョンが使用されます。">
    </EnumValue>
    <EnumValue Name="MultiThreadedDebug" Switch="MTd" DisplayName="マルチスレッド デバッグ" Description="_DEBUG および _MT を定義します。このオプションによって、リンカーが LIBCMTD.lib を使用して外部シンボルを解決できるように、コンパイラでライブラリ名 LIBCMTD.lib が .obj ファイルに含められます。">
    </EnumValue>
    <EnumValue Name="MultiThreadedDLL" Switch="MD" DisplayName="マルチスレッド DLL" Description="アプリケーションでランタイム ライブラリのマルチスレッド対応および DLL 対応バージョンが使用されます。_MT および _DLL を定義し、コンパイラでライブラリ名 MSVCRT.lib が .obj ファイルに含められます。">
    </EnumValue>
    <EnumValue Name="MultiThreadedDebugDLL" Switch="MDd" DisplayName="マルチスレッド デバッグ DLL" Description="_DEBUG、_MT、および _DLL を定義し、アプリケーションでランタイム ライブラリのマルチスレッド対応および DLL 対応バージョンが使用されます。また、コンパイラでライブラリ名 MSVCRTD.lib が .obj ファイルに含められます。">
    </EnumValue>
    <EnumValue Name="SingleThreaded" Switch="ML" DisplayName="!# Single-threaded" Description="!# Causes your application to use the single thread, static version of the run-time library.">
    </EnumValue>
    <EnumValue Name="SingleThreadedDebug" Switch="MLd" DisplayName="!# Single-threaded Debug" Description="!# Defines _DEBUG. This option also causes the compiler to place the library name LIBCD.lib into the .obj file so that the linker will use LIBCD.lib to resolve external symbols.">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="StructMemberAlignment" DisplayName="構造体メンバーのアライメント" Description="構造体メンバーのアライメントを指定します。1、2、4、8 バイトから選択してください。     (/Zp[数値])" Category="Code Generation" F1Keyword="VC.Project.VCCLCompilerTool.StructMemberAlignment">
    <EnumValue Name="1Byte" Switch="Zp1" DisplayName="1 バイト" Description="構造体を 1 バイト境界でパックします。/Zp と同じです。">
    </EnumValue>
    <EnumValue Name="2Bytes" Switch="Zp2" DisplayName="2 バイト" Description="構造体を 2 バイト境界でパックします。">
    </EnumValue>
    <EnumValue Name="4Bytes" Switch="Zp4" DisplayName="4 バイト" Description="構造体を 4 バイト境界でパックします。">
    </EnumValue>
    <EnumValue Name="8Bytes" Switch="Zp8" DisplayName="8 バイト" Description="構造体を 8 バイト境界でパックします (既定)。">
    </EnumValue>
    <EnumValue Name="16Bytes" Switch="Zp16" DisplayName="16 バイト" Description="構造体を 16 バイト境界でパックします。">
    </EnumValue>
    <EnumValue Name="Default" Switch="" DisplayName="既定" Description="既定のアライメント設定です。">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="FunctionLevelLinking" DisplayName="関数レベルでリンクする" Description="コンパイラで、パッケージ化された関数の形式 (COMDATs) により個別の関数をパッケージ化することを許可します。エディット コンティニュで必要です。     (/Gy)" Category="Code Generation" Switch="Gy" F1Keyword="VC.Project.VCCLCompilerTool.EnableFunctionLevelLinking">
  </BoolProperty>
  <BoolProperty Name="IncrementalCompilation" DisplayName="Enable Incremental Compilation" Description="Controls the incremental compiler, which compiles only those functions that have changed since the last compile.  (/Gi)" Category="Code Generation" Switch="Gi">
  </BoolProperty>
  <BoolProperty Name="DisableLanguageExtensions" DisplayName="言語拡張を無効にする" Description="言語拡張を有効、または無効にします。     (/Za)" Category="Language" Switch="Za" F1Keyword="VC.Project.VCCLCompilerTool.DisableLanguageExtensions">
  </BoolProperty>
  <BoolProperty ReverseSwitch="GR-" Name="RuntimeTypeInfo" DisplayName="ランタイム型情報を有効にする" Description="実行時に C++ のオブジェクト型をチェックするコードを追加します (ランタイム型情報)。     (/GR、/GR-)" Category="Language" Switch="GR" F1Keyword="VC.Project.VCCLCompilerTool.RuntimeTypeInfo">
  </BoolProperty>
  <EnumProperty Name="PrecompiledHeader" DisplayName="プリコンパイル済みヘッダー" Description="プリコンパイル済みヘッダーの作成/使用: ビルド時にプリコンパイル済みヘッダーを作成、使用します。     (/Yc、/YX、/Yu)" Category="Precompiled Headers" F1Keyword="VC.Project.VCCLCompilerTool.UsePrecompiledHeader">
    <EnumValue Name="Create" Switch="Yc" DisplayName="作成" Description="ある時点のコンパイルの状態を表すプリコンパイル済みヘッダー (.pch) ファイルを作成するようにコンパイラを設定します。">
      <Argument Property="PrecompiledHeaderFile" IsRequired="false"/>
    </EnumValue>
    <EnumValue Name="Automatic" Switch="YX" DisplayName="!# Automatic" Description="!# This option instructs the compiler to use a precompiled header file (.pch) if one exists or to create one if none exists.">
      <Argument Property="PrecompiledHeaderFile" IsRequired="false" />
    </EnumValue>
    <EnumValue Name="Use" Switch="Yu" DisplayName="使用" Description="現在のコンパイルで既存のプリコンパイル済みヘッダー (.pch) ファイルを使用するようにコンパイラを設定します。">
      <Argument Property="PrecompiledHeaderFile" IsRequired="false"/>
    </EnumValue>
    <EnumValue Name="NotUsing" Switch="" DisplayName="プリコンパイル済みヘッダーを使用しない" Description="プリコンパイル済みヘッダーを使用しません。">
    </EnumValue>
  </EnumProperty>
  <StringProperty Subtype="file" Name="PrecompiledHeaderFile" DisplayName="プリコンパイル済みヘッダー ファイル" Description="プリコンパイル済みヘッダー ファイルの作成または使用で適用するヘッダー ファイル名を指定します。 (/Yc[名前]、/Yu[名前])" Category="Precompiled Headers" F1Keyword="VC.Project.VCCLCompilerTool.PrecompiledHeaderThrough">
  </StringProperty>
  <StringProperty Subtype="file" Name="PrecompiledHeaderOutputFile" DisplayName="プリコンパイル済みヘッダー出力ファイル" Description="生成されるプリコンパイル済みヘッダー ファイルのパス、名前を指定します。 (/Fp[名前])" Category="Precompiled Headers" Switch="Fp" F1Keyword="VC.Project.VCCLCompilerTool.PrecompiledHeaderFile">
  </StringProperty>
  <EnumProperty Name="AssemblerOutput" DisplayName="アセンブリの出力" Description="アセンブリ言語の出力ファイルの内容を指定します。     (/FA、/FAc、/FAs、/FAcs)" Category="Output Files" F1Keyword="VC.Project.VCCLCompilerTool.AssemblerOutput">
    <EnumValue Name="NoListing" Switch="" DisplayName="なし" Description="なし。">
    </EnumValue>
    <EnumValue Name="AssemblyCode" Switch="FA" DisplayName="アセンブリ コードのみ" Description="アセンブリ コード: .asm">
    </EnumValue>
    <EnumValue Name="AssemblyAndMachineCode" Switch="FAc" DisplayName="アセンブリ コードとコンピューター語コード" Description="コンピューター語コードとアセンブリ コード: .cod">
    </EnumValue>
    <EnumValue Name="AssemblyAndSourceCode" Switch="FAs" DisplayName="アセンブリ コードとソース コード" Description="ソース コードとアセンブリ コード: .asm">
    </EnumValue>
    <EnumValue Name="All" Switch="FAcs" DisplayName="アセンブリ コード、コンピューター語コード、ソース コード" Description="アセンブリ コード、コンピューター語コード、ソース コード: .cod">
    </EnumValue>
  </EnumProperty>
  <StringProperty Subtype="file" Name="AssemblerListingLocation" DisplayName="ASM リストの場所" Description="ASM リスティング ファイルへの相対パスおよびファイル名を指定します。ファイル名、またはディレクトリ名を指定してください。     (/Fa[名前])" Category="Output Files" Switch="Fa" F1Keyword="VC.Project.VCCLCompilerTool.AssemblerListingLocation">
  </StringProperty>
  <StringProperty Subtype="file" Name="ObjectFileName" DisplayName="オブジェクト ファイル名" Description="既定の名前以外のオブジェクト ファイルを指定します。ファイル名、またはディレクトリ名を指定してください。     (/Fo[名前])" Category="Output Files" Switch="Fo" F1Keyword="VC.Project.VCCLCompilerTool.ObjectFile">
  </StringProperty>
  <StringProperty Subtype="file" Name="ProgramDataBaseFileName" DisplayName="プログラム データベース ファイルの名前" Description="コンパイラで生成される .PDB ファイルの名前を指定します。また、コンパイラで生成される .IDB ファイルの基本名も指定します。ファイル名、またはディレクトリ名を指定してください。     (/Fd[名前])" Category="Output Files" Switch="Fd" F1Keyword="VC.Project.VCCLCompilerTool.ProgramDataBaseFileName">
  </StringProperty>
  <BoolProperty Name="BrowseInformation" DisplayName="ブラウザー情報を作成する" Description="ブラウザー情報を作成する: .bsc ファイルのブラウザー情報の内容を指定します。     (/FR)" Category="Browse Information" Switch="FR" F1Keyword="VC.Project.VCCLCompilerTool.BrowseInformation">
    <Argument Property="BrowseInformationFile" IsRequired="false"/>
  </BoolProperty>
  <StringProperty Subtype="file" Name="BrowseInformationFile" DisplayName="ブラウザー情報ファイル" Description="ブラウザー ファイル: ブラウザー情報ファイルのオプション名を指定します。     (/FR[name])" Category="Browse Information" F1Keyword="VC.Project.VCCLCompilerTool.BrowseInformationFile">
  </StringProperty>
  <EnumProperty Name="CallingConvention" DisplayName="呼び出し規約" Description="アプリケーションの既定の呼び出し規約を選択します。関数で無効にできます。     (/Gd、/Gr、/Gz)" Category="Advanced" F1Keyword="VC.Project.VCCLCompilerTool.CallingConvention">
    <EnumValue Name="Cdecl" Switch="Gd" DisplayName="__cdecl" Description="C++ メンバー関数および __stdcall または __fastcall とマークされている関数を除くすべての関数の __cdecl 呼び出し規約を指定します。">
    </EnumValue>
    <EnumValue Name="FastCall" Switch="Gr" DisplayName="__fastcall" Description="C++ メンバー関数および __cdecl または __stdcall とマークされている関数を除くすべての関数の __fastcall 呼び出し規約を指定します。すべての __fastcall 関数にプロトタイプが必要です。">
    </EnumValue>
    <EnumValue Name="StdCall" Switch="Gz" DisplayName="__stdcall" Description="C++ メンバー関数および __cdecl または __fastcall とマークされている関数を除くすべての関数の __stdcall 呼び出し規約を指定します。すべての __stdcall 関数にプロトタイプが必要です。">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="CompileAs" DisplayName="コンパイル言語の選択" Description=".C および .CPP ファイルのコンパイル言語オプションを選択します。     (/TC、/TP)" Category="Advanced" F1Keyword="VC.Project.VCCLCompilerTool.CompileAs">
    <EnumValue Name="Default" Switch="" DisplayName="既定" Description="既定値です。">
    </EnumValue>
    <EnumValue Name="CompileAsC" Switch="TC" DisplayName="C コードとしてコンパイル" Description="C コードとしてコンパイルします">
    </EnumValue>
    <EnumValue Name="CompileAsCpp" Switch="TP" DisplayName="C++ コードとしてコンパイル" Description="C++ コードとしてコンパイルします">
    </EnumValue>
  </EnumProperty>
  <StringListProperty Subtype="file" Name="ForcedIncludeFiles" DisplayName="必ず使用されるインクルード ファイル" Description="必ず使用されるインクルード ファイルを指定します。     (/FI[ファイル名])" Category="Advanced" Switch="FI" F1Keyword="VC.Project.VCCLCompilerTool.ForcedIncludeFiles">
  </StringListProperty>
  <BoolProperty Name="OmitDefaultLibName" DisplayName="既定ライブラリ名の省略" Description=".obj ファイルに既定のライブラリ名を含めません。     (/Zl)" Category="Advanced" Switch="Zl" F1Keyword="VC.Project.VCCLCompilerTool.OmitDefaultLibName">
  </BoolProperty>
  <StringProperty Name="AdditionalOptions" DisplayName="追加オプション" Description="追加オプション" Category="Command Line" F1Keyword="vc.project.AdditionalOptionsPage">
  </StringProperty>
  <BoolProperty Name="BuildingInIDE" Visible="false">
  </BoolProperty>
</Rule>
